WOLF core
WOLF: A Modular Estimation Framework for Robotics
XXXXXXXXXXXXXXXXXXXXXXXXvoid(0)" frameborder="0" name="MSearchResults" id="MSearchResults">
wolf::FeatureBase Class Reference

#include <core/feature/feature_base.h>

Inheritance diagram for wolf::FeatureBase:
[legend]

Public Types

enum  UncertaintyType { UNCERTAINTY_IS_COVARIANCE , UNCERTAINTY_IS_INFO , UNCERTAINTY_IS_STDDEV }
 

Public Member Functions

 FeatureBase (const std::string &_type, const Eigen::VectorXd &_measurement, const Eigen::MatrixXd &_meas_uncertainty, UncertaintyType _uncertainty_type=UNCERTAINTY_IS_COVARIANCE)
 Constructor from capture pointer and measure. More...
 
 ~FeatureBase () override=default
 
virtual void remove (bool viral_remove_parent_without_children=false)
 
bool hasChildren () const override
 
unsigned int id () const
 
unsigned int trackId () const
 
void setTrackId (unsigned int _tr_id)
 
unsigned int landmarkId () const
 
void setLandmarkId (unsigned int _lmk_id)
 
double getMeasurement (unsigned int _ii) const
 
const Eigen::VectorXd & getMeasurement () const
 
const Eigen::MatrixXd & getMeasurementCovariance () const
 
Eigen::MatrixXd getMeasurementInformation () const
 
const Eigen::MatrixXd & getMeasurementSquareRootInformationUpper () const
 
const Eigen::VectorXd & getExpectation () const
 
void setExpectation (const Eigen::VectorXd &expectation)
 
FrameBaseConstPtr getFrame () const
 
FrameBasePtr getFrame ()
 
CaptureBaseConstPtr getCapture () const
 
CaptureBasePtr getCapture ()
 
FactorBaseConstPtrList getFactorList () const
 
FactorBasePtrList getFactorList ()
 
void getFactorList (FactorBaseConstPtrList &_fac_list) const
 
void getFactorList (FactorBasePtrList &_fac_list)
 
bool hasFactor (FactorBaseConstPtr _fac) const
 
void link (CaptureBasePtr cap_ptr)
 
virtual void printHeader (int depth, bool factored_by, bool metric, bool state_blocks, std::ostream &stream, std::string _tabs="") const
 
void print (int depth, bool factored_by, bool metric, bool state_blocks, std::ostream &stream=std::cout, std::string _tabs="") const
 
virtual CheckLog localCheck (bool _verbose, std::ostream &_stream, std::string _tabs="") const
 
bool check (CheckLog &_log, bool _verbose, std::ostream &_stream, std::string _tabs="") const
 
- Public Member Functions inherited from wolf::NodeBase
 NodeBase (const std::string &_category, const std::string &_type="Undefined", const std::string &_name="")
 
virtual ~NodeBase ()=default
 
unsigned int nodeId () const
 
std::string getCategory () const
 
std::string getType () const
 
std::string getName () const
 
bool isRemoving () const
 
virtual bool hasChildren () const =0
 
void setType (const std::string &_type)
 
void setName (const std::string &_name)
 
ProblemConstPtr getProblem () const
 
ProblemPtr getProblem ()
 

Static Public Member Functions

template<typename classType , typename... T>
static std::shared_ptr< classType > emplace (CaptureBasePtr _cpt_ptr, T &&... all)
 

Protected Attributes

unsigned int feature_id_
 
unsigned int track_id_
 
unsigned int landmark_id_
 
Eigen::VectorXd measurement_
 the measurement vector More...
 
Eigen::MatrixXd measurement_covariance_
 the measurement covariance matrix More...
 
Eigen::MatrixXd measurement_sqrt_information_upper_
 the squared root information matrix More...
 
Eigen::VectorXd expectation_
 expectation More...
 
- Protected Attributes inherited from wolf::NodeBase
ProblemWPtr problem_ptr_
 
unsigned int node_id_
 Node id. It is unique over the whole Wolf Tree. More...
 
std::string node_category_
 Text label identifying the category of node ("SENSOR", "FEATURE", etc) More...
 
std::string node_type_
 Text label identifying the type or subcategory of node ("Pin Hole", "Point 2d", etc) More...
 
std::string node_name_
 
bool is_removing_
 A flag for safely removing nodes from the Wolf tree. See remove(). More...
 

Additional Inherited Members

- Protected Member Functions inherited from wolf::NodeBase
virtual void setProblem (ProblemPtr _prob_ptr)
 

Member Enumeration Documentation

◆ UncertaintyType

Enumerator
UNCERTAINTY_IS_COVARIANCE 
UNCERTAINTY_IS_INFO 
UNCERTAINTY_IS_STDDEV 

Constructor & Destructor Documentation

◆ FeatureBase()

wolf::FeatureBase::FeatureBase ( const std::string &  _type,
const Eigen::VectorXd &  _measurement,
const Eigen::MatrixXd &  _meas_uncertainty,
UncertaintyType  _uncertainty_type = UNCERTAINTY_IS_COVARIANCE 
)

Constructor from capture pointer and measure.

Parameters
_typetype of feature – see wolf.h
_measurementthe measurement
_meas_covariancethe noise of the measurement

◆ ~FeatureBase()

wolf::FeatureBase::~FeatureBase ( )
overridedefault

Member Function Documentation

◆ check()

bool wolf::FeatureBase::check ( CheckLog &  _log,
bool  _verbose,
std::ostream &  _stream,
std::string  _tabs = "" 
) const

◆ emplace()

template<typename classType , typename... T>
std::shared_ptr< classType > wolf::FeatureBase::emplace ( CaptureBasePtr  _cpt_ptr,
T &&...  all 
)
static

◆ getCapture() [1/2]

CaptureBasePtr wolf::FeatureBase::getCapture ( )
inline

◆ getCapture() [2/2]

CaptureBaseConstPtr wolf::FeatureBase::getCapture ( ) const
inline

◆ getExpectation()

const Eigen::VectorXd & wolf::FeatureBase::getExpectation ( ) const
inline

◆ getFactorList() [1/4]

FactorBasePtrList wolf::FeatureBase::getFactorList ( )
inline

◆ getFactorList() [2/4]

FactorBaseConstPtrList wolf::FeatureBase::getFactorList ( ) const
inline

◆ getFactorList() [3/4]

void wolf::FeatureBase::getFactorList ( FactorBaseConstPtrList &  _fac_list) const

◆ getFactorList() [4/4]

void wolf::FeatureBase::getFactorList ( FactorBasePtrList &  _fac_list)

◆ getFrame() [1/2]

FrameBasePtr wolf::FeatureBase::getFrame ( )

◆ getFrame() [2/2]

FrameBaseConstPtr wolf::FeatureBase::getFrame ( ) const

◆ getMeasurement() [1/2]

const Eigen::VectorXd & wolf::FeatureBase::getMeasurement ( ) const
inline

◆ getMeasurement() [2/2]

double wolf::FeatureBase::getMeasurement ( unsigned int  _ii) const
inline

◆ getMeasurementCovariance()

const Eigen::MatrixXd & wolf::FeatureBase::getMeasurementCovariance ( ) const
inline

◆ getMeasurementInformation()

Eigen::MatrixXd wolf::FeatureBase::getMeasurementInformation ( ) const
inline

◆ getMeasurementSquareRootInformationUpper()

const Eigen::MatrixXd & wolf::FeatureBase::getMeasurementSquareRootInformationUpper ( ) const
inline

◆ hasChildren()

bool wolf::FeatureBase::hasChildren ( ) const
inlineoverridevirtual

Implements wolf::NodeBase.

◆ hasFactor()

bool wolf::FeatureBase::hasFactor ( FactorBaseConstPtr  _fac) const

◆ id()

unsigned int wolf::FeatureBase::id ( ) const
inline

◆ landmarkId()

unsigned int wolf::FeatureBase::landmarkId ( ) const
inline

◆ link()

void wolf::FeatureBase::link ( CaptureBasePtr  cap_ptr)

◆ localCheck()

CheckLog wolf::FeatureBase::localCheck ( bool  _verbose,
std::ostream &  _stream,
std::string  _tabs = "" 
) const
virtual

◆ print()

void wolf::FeatureBase::print ( int  depth,
bool  factored_by,
bool  metric,
bool  state_blocks,
std::ostream &  stream = std::cout,
std::string  _tabs = "" 
) const

◆ printHeader()

void wolf::FeatureBase::printHeader ( int  depth,
bool  factored_by,
bool  metric,
bool  state_blocks,
std::ostream &  stream,
std::string  _tabs = "" 
) const
virtual

◆ remove()

void wolf::FeatureBase::remove ( bool  viral_remove_parent_without_children = false)
virtual

◆ setExpectation()

void wolf::FeatureBase::setExpectation ( const Eigen::VectorXd &  expectation)
inline

◆ setLandmarkId()

void wolf::FeatureBase::setLandmarkId ( unsigned int  _lmk_id)
inline

◆ setTrackId()

void wolf::FeatureBase::setTrackId ( unsigned int  _tr_id)
inline

◆ trackId()

unsigned int wolf::FeatureBase::trackId ( ) const
inline

Member Data Documentation

◆ expectation_

Eigen::VectorXd wolf::FeatureBase::expectation_
protected

expectation

◆ feature_id_

unsigned int wolf::FeatureBase::feature_id_
protected

◆ landmark_id_

unsigned int wolf::FeatureBase::landmark_id_
protected

◆ measurement_

Eigen::VectorXd wolf::FeatureBase::measurement_
protected

the measurement vector

◆ measurement_covariance_

Eigen::MatrixXd wolf::FeatureBase::measurement_covariance_
protected

the measurement covariance matrix

◆ measurement_sqrt_information_upper_

Eigen::MatrixXd wolf::FeatureBase::measurement_sqrt_information_upper_
protected

the squared root information matrix

◆ track_id_

unsigned int wolf::FeatureBase::track_id_
protected

The documentation for this class was generated from the following files: